<template>
  <!-- 总容器 -->
  <div class="wrapper">
    <header>
      <i class="fa fa-angle-left" onclick="history.go(-1)"></i>
      <p>注册</p>
      <div></div>
    </header>
    <div class="top-ban"></div>
    <h1>欢迎注册</h1>
    <table>
      <tr>
        <td>手机号码</td>
        <td>
          <input
            type="text"
            placeholder="请输入手机号码"
            v-model="users.userId"
            @blur="isExist"
          />
        </td>
      </tr>
      <tr>
        <td>真实姓名</td>
        <td>
          <input
            type="text"
            placeholder="真实姓名便于查看体检报告"
            v-model="users.realName"
          />
        </td>
      </tr>
      <tr>
        <td>生日</td>
        <td><input type="date" v-model="users.birthday" /></td>
      </tr>
      <tr>
        <td>性别</td>
        <td>
          <input type="radio" v-model="users.sex" value="1" />男
          <input type="radio" v-model="users.sex" value="0" />女
        </td>
      </tr>
      <tr>
        <td>身份证号</td>
        <td>
          <input
            type="text"
            placeholder="请输入身份证号"
            v-model="users.identityCard"
          />
        </td>
      </tr>
      <tr>
        <td>密码</td>
        <td>
          <input
            type="password"
            placeholder="请输入密码"
            v-model="users.password"
          />
        </td>
      </tr>
      <tr>
        <td>确认密码</td>
        <td>
          <input
            type="password"
            placeholder="请再次输入密码"
            v-model="confirmPassword"
          />
        </td>
      </tr>
    </table>
    <div class="btn" @click="register">完成</div>
  </div>
</template>

<script>
import { reactive, toRefs } from "vue";
import axios from "axios";
import { useRouter } from "vue-router";

export default {
  //代码结构：1.data   2.function
  setup() {
    const router = useRouter(); // 2 router  route

    const state = reactive({
      users: {
        userId: "",
        realName: "",
        birthday: "",
        sex: 1,
        password: "",
        identityCard: "",
      },
      confirmPassword: "",
    });

    function isExist() {
      console.log("-----------isExist----------------");
    }

    function register() {
      console.log("--------into---register----------------");

      //非空判断
      if (state.users.userId == "") {
        alert("userId not null");
        return;
      }
      if (state.users.birthday == "") {
        alert("birthday not null");
        return;
      }
      if (state.users.realName == "") {
        alert("realName not null");
        return;
      }
      if (state.users.identityCard == "") {
        alert("identityCard not null");
        return;
      }
      if (state.users.password == "") {
        alert("password not null");
        return;
      }
      if (state.confirmPassword != state.users.password) {
        alert("password is wrong");
        return;
      }
      console.log("it is ok");

      //
      axios
        .post("/api/register", state.users)
        .then((response) => {
          //response.data=ApiResponse
          //console.log(response)
          let result = response.data;
          // console.log(result);
          if (result.status == 200) {
            router.push("/login");
          } else {
            alert("注册失败！");
          }
        })
        .catch((error) => {
          console.error(error);
        });
    }

    return {
      ...toRefs(state),
      isExist,
      register,
    };
  },
};
</script>

<style scoped>
/*********************** 总容器 ***********************/
.wrapper {
  width: 100%;
  height: 100%;
}

/*********************** header ***********************/
header {
  width: 100%;
  height: 15.7vw;
  background-color: #fff;

  position: fixed;
  left: 0;
  top: 0;

  display: flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;
  padding: 0 3.6vw;
}
header .fa {
  font-size: 8vw;
}

/*********************** 标题部分 ***********************/
h1 {
  font-size: 7.4vw;
  font-weight: 500;
  box-sizing: border-box;
  padding: 0 3.6vw;
  margin-top: 6vw;
}

/*********************** common样式 ***********************/
.top-ban {
  width: 100%;
  height: 15.7vw;
}

/*********************** table ***********************/
table {
  width: 92.8vw;
  margin: 0 auto;
  margin-top: 5vw;
  border-collapse: collapse;

  font-size: 4.2vw;
}
table tr td {
  height: 12vw;
  border-bottom: solid 1px #ddd;
}
table tr td input {
  border: none;
  outline: none;
}

/*********************** btn ***********************/
.btn {
  width: 92.8vw;
  margin: 0 auto;
  height: 12vw;
  margin-top: 8vw;
  background-color: #137e92;
  border-radius: 2vw;
  color: #fff;
  font-size: 5vw;
  text-align: center;
  line-height: 12vw;

  user-select: none;
  cursor: pointer;
}
</style>